Skip to content

ci: bump Python to 3.10-3.12, drop 3.8/3.9 (#564)#565

Merged
utensil merged 3 commits into
pygae:masterfrom
utiberious:fix/issue-564-bump-python
Apr 1, 2026
Merged

ci: bump Python to 3.10-3.12, drop 3.8/3.9 (#564)#565
utensil merged 3 commits into
pygae:masterfrom
utiberious:fix/issue-564-bump-python

Conversation

@utiberious
Copy link
Copy Markdown
Contributor

@utiberious utiberious commented Apr 1, 2026

Closes #564.

Changes

CI/setup:

  • Matrix: ["3.8","3.9","3.10","3.11"]["3.10","3.11","3.12"]
  • Runner: ubuntu-22.04ubuntu-24.04
  • PDF/coverage/artifact steps: condition 3.113.12
  • Action versions: checkout@v3v4, setup-python@v4v5, cache@v3v4, action-setup-diff-pdf@v1.3.0v1.4.0 (v1.4.0 adds Ubuntu 24.04 support — package name changed from libwxgtk3.0-gtk3-dev to libwxgtk3.2-dev)
  • setup.py: python_requires >=3.6>=3.10, classifiers updated
  • test_requirements.txt: explicitly declare packaging dependency

Python 3.12 compatibility fixes:

  • test/test_mv.py: replace distutils.version (removed in 3.12) with packaging.version
  • examples/primer/cm3.ipynb, gprint.ipynb, h3.ipynb, primer.ipynb, sp2.ipynb, sp2g3.ipynb, spacetime.ipynb and examples/ipython/lt.ipynb: add r-prefix to LaTeX string literals — Python 3.12 promotes unrecognized escape sequences from DeprecationWarning to SyntaxWarning, causing unexpected stderr output that breaks nbval

Test results

Local CI on Python 3.11 and 3.12: 551 passed, 2 skipped, 0 failures. flake8 clean on both.

- CI matrix: ["3.8","3.9","3.10","3.11"] -> ["3.10","3.11","3.12"]
- Runner: ubuntu-22.04 -> ubuntu-24.04
- PDF/coverage/artifact steps: condition 3.11 -> 3.12
- Action versions: checkout@v3->v4, setup-python@v4->v5
- setup.py: python_requires >=3.6 -> >=3.10, classifiers updated
- test/test_mv.py: distutils.version (removed in 3.12) -> packaging.version
- examples/primer: add r-prefix to LaTeX strings (SyntaxWarning in 3.12)
@review-notebook-app
Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

Copy link
Copy Markdown
Member

@utensil utensil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR!

CI is green. Before merging:

examples/primer/sp2.ipynb and examples/ipython/lt.ipynb both have the same missing r-prefix issue as the notebooks you fixed.

Also worth adding packaging to test_requirements.txt since test/test_mv.py now imports it directly.

And actions/cache@v3 wasn't bumped along with the other actions.

- examples/primer/sp2.ipynb, examples/ipython/lt.ipynb: add r-prefix to LaTeX strings (same SyntaxWarning fix)
- test_requirements.txt: explicitly declare packaging dependency
- ci.yml: bump actions/cache v3 -> v4
@utensil utensil merged commit 07cb73e into pygae:master Apr 1, 2026
5 checks passed
utiberious added a commit to utiberious/galgebra that referenced this pull request Apr 2, 2026
Covers: Mlt component-expression constructor (pygae#578/pygae#580),
is_blade null fix (pygae#537), Macdonald PDF update (pygae#577),
dev guides (pygae#572/pygae#574), SymPy 1.13 notebook refresh (pygae#570),
Lt ImmutableDenseMatrix fix (pygae#569), Python 3.10-3.12 CI (pygae#565).
utensil pushed a commit that referenced this pull request Apr 3, 2026
* docs: add 0.6.1 changelog entries

Covers: Mlt component-expression constructor (#578/#580),
is_blade null fix (#537), Macdonald PDF update (#577),
dev guides (#572/#574), SymPy 1.13 notebook refresh (#570),
Lt ImmutableDenseMatrix fix (#569), Python 3.10-3.12 CI (#565).

* docs(changelog): fix is_blade entry reference from issue to PR

The is_blade entry incorrectly referenced issue 537 but should reference
PR 582 to match the convention used in other entries.

---------

Co-authored-by: utiberious <utiberious@users.noreply.github.com>
@utensil utensil mentioned this pull request Apr 3, 2026
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bump Python version: drop 3.8/3.9, add 3.12

2 participants